import Vue from 'vue';

//ElementUI组件
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css'
Vue.use(ElementUI)

import Timeline from './components/Timeline/index.js'
Vue.use(Timeline)


import vueTap from 'v-tap';
Vue.use(vueTap);

//vue滑块
import VueAwesomeSwiper from 'vue-awesome-swiper'
Vue.use(VueAwesomeSwiper)

//vue路由
import VueRouter from 'vue-router';
Vue.use(VueRouter);

//状态管理模式
import Vuex from 'vuex'
Vue.use(Vuex)//使用状态管理模式

//入口
import App from './App.vue';

// vuex store
import store from './store/'

//路由配置文件
import routes from './router.config.js';

import axios from 'axios'


import './assets/css/style.css';//重置样式
import './assets/css/animate.css';//公共动画样式库


import Loading from './components/loading';//加载组件
Vue.use(Loading);

import BigBtn from './components/BigBtn/';//加载自定义大号组件
Vue.use(BigBtn);
import BigImg from './components/bigImg/';//加载题型图片点击放大组件
Vue.use(BigImg);

const router = new VueRouter(routes, {
    mode: 'history', //切换路径模式，变成history模式
    scrollBehavior: () => ({y: 0}) // 滚动条滚动的行为，不加这个默认就会记忆原来滚动条的位置
});//使用路由配置文件

axios.interceptors.request.use(function (config) {  //配置发送请求的信息
    if (store.getters.getToken) {
        // config.headers.SessionKey = `${store.getters.getToken}`;
    }
    // store.getters.loading = true
    // console.log(store.getters.loading)
    // console.log(store.getters.getToken)
    return config;
}, function (error) {
    return Promise.reject(error);
});

axios.interceptors.response.use(function (response) { //配置请求回来的信息
    return response;
}, function (error) {
    return Promise.reject(error);
});
// axios.defaults.baseURL = (process.env.NODE_ENV !=='production' ? config.dev.httpUrl:config.build.httpUrl);
//  axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
axios.defaults.baseURL = baseURL;

Vue.prototype.$http = axios  //其他页面在使用axios的时候直接  this.$http就可以了

window.vm = new Vue({
    store,
    router,
    el: '#app',
    render: h => h(App)
})